<!doctype html>
<html class="default no-js">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>&quot;eth&quot; | Compound.js - v0.1.2</title>
	<meta name="description" content="Documentation for Compound.js - v0.1.2">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
	<div class="tsd-page-toolbar">
		<div class="container">
			<div class="table-wrap">
				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
					<div class="field">
						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
						<input id="tsd-search-field" type="text" />
					</div>
					<ul class="results">
						<li class="state loading">Preparing search index...</li>
						<li class="state failure">The search index is not available</li>
					</ul>
					<a href="../index.html" class="title">Compound.js - v0.1.2</a>
				</div>
				<div class="table-cell" id="tsd-widgets">
					<div id="tsd-filter">
						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
						<div class="tsd-filter-group">
							<div class="tsd-select" id="tsd-filter-visibility">
								<span class="tsd-select-label">All</span>
								<ul class="tsd-select-list">
									<li data-value="public">Public</li>
									<li data-value="protected">Public/Protected</li>
									<li data-value="private" class="selected">All</li>
								</ul>
							</div>
							<input type="checkbox" id="tsd-filter-inherited" checked />
							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
							<input type="checkbox" id="tsd-filter-only-exported" />
							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
						</div>
					</div>
					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
				</div>
			</div>
		</div>
	</div>
	<div class="tsd-page-title">
		<div class="container">
			<ul class="tsd-breadcrumb">
				<li>
					<a href="../globals.html">Globals</a>
				</li>
				<li>
					<a href="_eth_.html">&quot;eth&quot;</a>
				</li>
			</ul>
			<h1>Module &quot;eth&quot;</h1>
		</div>
	</div>
</header>
<div class="container container-main">
	<div class="row">
		<div class="col-8 col-content">
			<section class="tsd-panel-group tsd-index-group">
				<h2>Index</h2>
				<section class="tsd-panel tsd-index-panel">
					<div class="tsd-index-content">
						<section class="tsd-index-section ">
							<h3>Functions</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_eth_.html#getbalance" class="tsd-kind-icon">get<wbr>Balance</a></li>
								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_eth_.html#read" class="tsd-kind-icon">read</a></li>
								<li class="tsd-kind-function tsd-parent-kind-module"><a href="_eth_.html#trx" class="tsd-kind-icon">trx</a></li>
							</ul>
						</section>
					</div>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Functions</h2>
				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
					<a name="getbalance" class="tsd-anchor"></a>
					<h3>get<wbr>Balance</h3>
					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
						<li class="tsd-signature tsd-kind-icon">get<wbr>Balance<span class="tsd-signature-symbol">(</span>address<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, provider<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<aside class="tsd-sources">
								<ul>
									<li>Defined in <a href="https://github.com/compound-finance/compound-js/blob/0b4de92/src/eth.ts#L266">eth.ts:266</a></li>
								</ul>
							</aside>
							<div class="tsd-comment tsd-typography">
								<div class="lead">
									<p>Fetches the current Ether balance of a provided Ethereum address.</p>
								</div>
								<dl class="tsd-comment-tags">
									<dt>example</dt>
									<dd><pre><code>(<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) </span>{

  balance = <span class="hljs-keyword">await</span> Compound.eth.getBalance(myAddress, provider);
  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&#x27;My ETH Balance&#x27;</span>, +balance);

})().catch(<span class="hljs-built_in">console</span>.error);</code></pre>
									</dd>
								</dl>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>address: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>The Ethereum address in which to get the ETH balance.</p>
									</div>
								</li>
								<li>
									<h5>provider: <span class="tsd-signature-type">any</span></h5>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
							<p>Returns a BigNumber hexadecimal value of the ETH balance
							of the address.</p>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
					<a name="read" class="tsd-anchor"></a>
					<h3>read</h3>
					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
						<li class="tsd-signature tsd-kind-icon">read<span class="tsd-signature-symbol">(</span>address<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, method<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, parameters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">CallOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<aside class="tsd-sources">
								<ul>
									<li>Defined in <a href="https://github.com/compound-finance/compound-js/blob/0b4de92/src/eth.ts#L152">eth.ts:152</a></li>
								</ul>
							</aside>
							<div class="tsd-comment tsd-typography">
								<div class="lead">
									<p>This is a generic method for invoking JSON RPC&#39;s <code>eth_call</code> with Ethers.js.
										Use this method to execute a smart contract&#39;s constant or non-constant
										member without using gas. This is a read-only method intended to read a
										value or test a transaction for valid parameters. It does not create a
									transaction on the block chain.</p>
								</div>
								<dl class="tsd-comment-tags">
									<dt>example</dt>
									<dd><pre><code><span class="hljs-keyword">const</span> cEthAddress = Compound.util.getAddress(Compound.cETH);

(<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{

  <span class="hljs-keyword">const</span> srpb = <span class="hljs-keyword">await</span> Compound.eth.read(
    cEthAddress,
    <span class="hljs-string">&#x27;function supplyRatePerBlock() returns (uint256)&#x27;</span>,
    <span class="hljs-comment">// [], // [optional] parameters</span>
    <span class="hljs-comment">// {}  // [optional] call options, provider, network, plus Ethers.js &quot;overrides&quot;</span>
  );

  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&#x27;cETH market supply rate per block:&#x27;</span>, srpb.toString());

})().catch(<span class="hljs-built_in">console</span>.error);</code></pre>
									</dd>
								</dl>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>address: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>The Ethereum address the transaction is directed to.</p>
									</div>
								</li>
								<li>
									<h5>method: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>The smart contract member in which to invoke.</p>
									</div>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagDefault value">Default value</span> parameters: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></h5>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagDefault value">Default value</span> options: <span class="tsd-signature-type">CallOptions</span><span class="tsd-signature-symbol"> = {}</span></h5>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
							<p>Return value of the invoked smart contract member or an error
							object if the call failed.</p>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-module">
					<a name="trx" class="tsd-anchor"></a>
					<h3>trx</h3>
					<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
						<li class="tsd-signature tsd-kind-icon">trx<span class="tsd-signature-symbol">(</span>address<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, method<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, parameters<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">CallOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<aside class="tsd-sources">
								<ul>
									<li>Defined in <a href="https://github.com/compound-finance/compound-js/blob/0b4de92/src/eth.ts#L203">eth.ts:203</a></li>
								</ul>
							</aside>
							<div class="tsd-comment tsd-typography">
								<div class="lead">
									<p>This is a generic method for invoking JSON RPC&#39;s <code>eth_sendTransaction</code> with
										Ethers.js. Use this method to create a transaction that invokes a smart
									contract method. Returns an Ethers.js <code>TransactionResponse</code> object.</p>
								</div>
								<dl class="tsd-comment-tags">
									<dt>example</dt>
									<dd><pre><code><span class="hljs-keyword">const</span> oneEthInWei = <span class="hljs-string">&#x27;1000000000000000000&#x27;</span>;
<span class="hljs-keyword">const</span> cEthAddress = <span class="hljs-string">&#x27;0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5&#x27;</span>;
<span class="hljs-keyword">const</span> provider = <span class="hljs-built_in">window</span>.ethereum;

(<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&#x27;Supplying ETH to the Compound Protocol...&#x27;</span>);

  <span class="hljs-comment">// Mint some cETH by supplying ETH to the Compound Protocol</span>
  <span class="hljs-keyword">const</span> trx = <span class="hljs-keyword">await</span> Compound.eth.trx(
    cEthAddress,
    <span class="hljs-string">&#x27;function mint() payable&#x27;</span>,
    [],
    {
      provider,
      <span class="hljs-attr">value</span>: oneEthInWei
    }
  );

  <span class="hljs-comment">// const result = await trx.wait(1); // JSON object of trx info, once mined</span>

  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">&#x27;Ethers.js transaction object&#x27;</span>, trx);
})().catch(<span class="hljs-built_in">console</span>.error);</code></pre>
									</dd>
								</dl>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>address: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>The Ethereum address the transaction is directed to.</p>
									</div>
								</li>
								<li>
									<h5>method: <span class="tsd-signature-type">string</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>The smart contract member in which to invoke.</p>
									</div>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagDefault value">Default value</span> parameters: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></h5>
								</li>
								<li>
									<h5><span class="tsd-flag ts-flagDefault value">Default value</span> options: <span class="tsd-signature-type">CallOptions</span><span class="tsd-signature-symbol"> = {}</span></h5>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4>
							<p>Returns an Ethers.js <code>TransactionResponse</code> object or an error
							object if the transaction failed.</p>
						</li>
					</ul>
				</section>
			</section>
		</div>
		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
			<nav class="tsd-navigation primary">
				<ul>
					<li class="globals  ">
						<a href="../globals.html"><em>Globals</em></a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_api_.html">&quot;api&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_ctoken_.html">&quot;c<wbr>Token&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_comp_.html">&quot;comp&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_comptroller_.html">&quot;comptroller&quot;</a>
					</li>
					<li class="current tsd-kind-module">
						<a href="_eth_.html">&quot;eth&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_gov_.html">&quot;gov&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_index_.html">&quot;index&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_pricefeed_.html">&quot;price<wbr>Feed&quot;</a>
					</li>
					<li class=" tsd-kind-module">
						<a href="_util_.html">&quot;util&quot;</a>
					</li>
				</ul>
			</nav>
			<nav class="tsd-navigation secondary menu-sticky">
				<ul class="before-current">
					<li class=" tsd-kind-function tsd-parent-kind-module">
						<a href="_eth_.html#getbalance" class="tsd-kind-icon">get<wbr>Balance</a>
					</li>
					<li class=" tsd-kind-function tsd-parent-kind-module">
						<a href="_eth_.html#read" class="tsd-kind-icon">read</a>
					</li>
					<li class=" tsd-kind-function tsd-parent-kind-module">
						<a href="_eth_.html#trx" class="tsd-kind-icon">trx</a>
					</li>
				</ul>
			</nav>
		</div>
	</div>
</div>
<footer>
	<div class="container">
		<h2>Legend</h2>
		<div class="tsd-legend-group">
			<ul class="tsd-legend">
				<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
			</ul>
		</div>
	</div>
</footer>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>